//
//  YFThreeDTemplate.h
//  SquashSpark
//
//  Created by Coollang on 2017/11/30.
//  Copyright © 2017年 Coollang-YF. All rights reserved.
//

#import <Realm/Realm.h>
#import "YFThreeDItem.h"

typedef NS_ENUM(NSInteger, TemplateMainType) {
    TemplateMainType3DData = 0,   //3D详细数据
    TemplateMainTypeSystem = 100, //系统模板
    TemplateMainTypeStar = 200,   //明星模板
    TemplateMainTypeMy = 300      //我的模板
};


@interface YFThreeDTemplate : RLMObject

@property NSString *identification;

@property NSString *userId;             // 用户ID
@property NSString *name;
@property NSString *templateImage;      // 模板图片
@property long long creatTimestamp;     //时间戳
@property NSString *creatDate;          //日期
@property BOOL isDeletSelect;           //是否选中（编辑模式下）
@property YFThreeDItem *threeDItem;
//系统模板、明星模板、我的模板
@property TemplateMainType mainType;
// 保存模板弹框时用户选择的类型
@property kSportActionType selectActionType; 
@property HandDirectionType handType;  // 正反手
@property NSString *templateID;         //服务器保存的模板ID

+ (NSString *)templateWithHandType:(HandDirectionType)handType selectActionType:(kSportActionType)actionType;

//匹配过的所有挥拍
@property RLMArray <YFThreeDItem *> <YFThreeDItem>*matchSwingArray;

/**
 * 获取当前用户下的所有模板
 */
+ (RLMResults *)getCurrentUserAllTemplateModels;

/**
 * 将模板模型存入用户数据库
 */
+ (void)saveTemplateToDocument:(YFThreeDTemplate *)temItem;

/**
 * 获取当前用户下的所有系统模板
 */
+ (RLMResults *)getCurrentUserAllSystemTemplateModels;
/**
 * 获取当前用户下的所有自定义模板
 */
+ (RLMResults *)getCurrentUserAllCustomTemplateModels;


/**
 @!创建模板模型
 item            (速度、力度、时间)
 name            名字
 image           模板顶部展示图片
 mainType        类型：3D数据、系统模板、明星模板、我的模板
 */
- (instancetype)initWithThreeDitem:(YFThreeDItem *)threeDItem name:(NSString *)name templateImage:(NSString *)image mainType:(TemplateMainType)mainType;

/**
 * 添加一个3D 挥拍匹配数据
 */
- (void)addMatchSwing:(YFThreeDItem *)matchSwingItem;

@end
RLM_ARRAY_TYPE(YFThreeDTemplate)
